// pages/my/instanceManager/instanceManager.js

const imgServer = "/img/instance/"

const ShopHttp = getApp().ShopHttp()
const pageSize = 10;
const pageNoStart = 1;
Page({

  /**
   * 页面的初始数据
   */
  data: {
    array: [],//不会变的数据
    pageNo: pageNoStart,
    dataSource:[]
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.loadShopData(this.data.pageNo)
  },
  reloadData: function () {

  },

  loadShopData: async function (pageNo) {
    const param = {
      merchantId: getApp().getMerchantId(),
      pageNo: pageNo,
      pageSize: 10,
    }
    const data = await ShopHttp.loadList(param);
    if (data && data.result && data.result.data.length > 0) {
      const array = pageNo == pageNoStart ? data.result.data : this.data.array.concat(data.result.data)
      const dataSource = pageNo == pageNoStart ? data.result.data : this.data.dataSource.concat(data.result.data)
      this.setData({
        array:array ,
        dataSource:dataSource,
        pageNo: data.result.pageNo,
      })
    }

  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    this.loadShopData(this.data.pageNo + 1)
  },
  popMethod: function () {
    getApp().popMethod()
  },
  onClick:function(e){
    const model = e.detail;
    model.selected = !model.selected
     
    this.setData({
      dataSource:this.data.dataSource.map(v=>{
        if(v.shopId==model.shopId){
          return model
        }else{
          return v
        }
      })
    }) 
  },
  submitAction:function(){
    const {dataSource} = this.data;
    const list = dataSource.filter(v=>v.selected==true);
    if(list.length==0){
      return
    }else{
      const event = this.getOpenerEventChannel()
      event&&event.emit&&event.emit('callback',list)
    }
  }
})